package com.bdzl.ecs.service;

import com.bdzl.pub.entity.loan.ContractTmplDO;
import com.bdzl.pub.vo.loan.ContractTmplVO;
import com.bdzl.pub.vo.util.SigningAContractVO;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;
import java.util.Map;

/**
 * 电子合同模板表
 *
 * @author yangyicai
 * @email yangyicai@foxmail.com
 * @date 2021-03-23 14:00:08
 */
public interface ContractTmplService {

	ContractTmplDO get(Integer tmplId);

	List<ContractTmplDO> list(Map<String, Object> map);

	int count(Map<String, Object> map);

	int save(ContractTmplDO contractTmpl);

	int update(ContractTmplDO contractTmpl);

	int remove(Integer tmplId);

	int batchRemove(Integer[] tmplIds);
	List<ContractTmplVO> listAndUser(Map map);
	int listAndUserCount(Map map);


	/**
	 * 对接报件流程，客户申请CA证书，自动生成合同，企业自动盖章，最终生成url发送给客户，客户签章通过，回调平台接口。
	 * @param signingAContractVO
	 * @param userId 当前登录者id
	 * @return
	 */
	public String signingAContract(SigningAContractVO signingAContractVO,Integer userId);




	/**
	 * 合同推送
	 * @param transaction_id  交易号
	 * @param contract_id 合同编号
	 * @param customer_id 客户编号
	 * @param doc_title   文档标题
	 * @param sing_keyword   定位关键字
	 * @return
	 */
	public String pushdocExtsign(String transaction_id,String contract_id,String customer_id,String doc_title,String sing_keyword);
}
